/* 如果运行微信开发者工具出现:[ project.config.json 文件内容错误] project.config.json: libVersion 字段需为 string, string(env: Windows,mp,1.06.2401020; lib: 3.4.2)
在manifest.json文件的"源码视图"的"usingComponents" : true,的后面加上:"libVersion":"latest" */

/* 由于平台的限制，小程序项目中不支持 axios，而且原生的 wx.request() API 功能较为简单，不支持拦截器等全局定制的功能。
因此，建议在 uni-app 项目中使用 @escook/request-miniprogram 第三方包发起网络数据请求。 
1、注册npm包管理配置文件，在文件根目录运行: npm init -y
2、安装第三方包，在文件根目录运行: npm install @escook/request-miniprogram 
3、导入包，进行各种配置 */
/* 下一步见home.vue */

import  {$http}  from '@escook/request-miniprogram'
import store from './store/store'

uni.$http = $http
// 配置请求根路径
//备用：www.zhengzhicheng.cn   autumnfish.cn/wx
/* $http.baseUrl = 'https://www.uinav.com' */
$http.baseUrl = 'https://api-hmugo-web.itheima.net'
//$http.baseUrl = 'https://fc-mp-9005192d-885d-4399-b8b8-e5778f984949.next.bspapp.com/shopURL'

// 请求开始之前做一些事情
$http.beforeRequest = function (options) {
  uni.showLoading({
    title: '数据加载中...',
  })
  
  // 判断请求的是否为有权限的 API 接口
  if (options.url.indexOf('/my/') !== -1) {
    // 为请求头添加身份认证字段
    options.header = {
      // 字段的值可以直接从 vuex 中进行获取
      Authorization: store.state.m_user.token,
    }
  }  
}

// 请求完成之后做一些事情
$http.afterRequest = function () {
  uni.hideLoading()
}

// 封装的展示消息提示的方法
uni.$showMsg = function (title = '数据加载失败！', duration = 1500) {
  uni.showToast({
    title,
    duration,
    icon: 'none',
  })
}


// #ifndef VUE3
import Vue from 'vue'
import App from './App'


Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
    ...App,
	// 2. 将 store 挂载到 Vue 实例上
	store,
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'


import App from './App.vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app,
	// 2. 将 store 挂载到 Vue 实例上
	store,
  }
}
// #endif